# 元组可以看成是一种特殊的列表，与列表不同的是元组一旦建立就不能改变
# 任何修改元组的数据项，也不能添加和删除数据项
# 元组的基本形式是以括号()括起来的数据元素，可以通过序号来引用其中的元素

# 创建元组的2种方式
tuple_a = ()
tuple_b = tuple()
print(f'tuple_a的值为{tuple_a},数据类型为{type(tuple_a)}')
print(f'tuple_b的值为{tuple_b},数据类型为{type(tuple_b)}')

# 创建包含一个元素的元组
tuple_c = (1) #这里要是不加逗号，他的数据类型就会变成int
tuple_d = (1,)
print(f'tuple_c的值为{tuple_c},数据类型为{type(tuple_c)}')
print(f'tuple_d的值为{tuple_d},数据类型为{type(tuple_d)}')

# 访问元组中的元素
tuple_e = (11,34,1,2,3,4,5,56,7)
print(tuple_e)

# 访问元组中第一个元素
print(tuple_e[0])# 第一个
print(tuple_e[-1])# 最后一个

# 访问多个元素
print(tuple_e[1:3])

# 元组本身不支持修改，但可将元组转为列表后修改，最后再转回元组
tuple_e = list(tuple_e)
print(f'e的值为：{tuple_e}，数据类型是{type(tuple_e)}')
tuple_e[1]=0
print(tuple_e)
tuple_e = tuple(tuple_e)
print(tuple_e)
print(f'e的值为：{tuple_e}，数据类型是{type(tuple_e)}')

# 元组的操作函数
# count()
print(tuple_e.count(1))
# index()
print(tuple_e.index(23))